# 在文本上训练标记器
# 分词 获得词元
import tokenizers

# 创建一个BertWordPieceTokenizer对象，用于训练BERT模型的WordPiece标记器。
bwpt = tokenizers.BertWordPieceTokenizer()

filepath = "./working/pretraining_data.txt"
# 在指定的文件上训练标记器
bwpt.train(
    files=[filepath],  # 指定要训练的文本文件，即预训练数据。
    vocab_size=90000,  # 设置词汇表的大小为50000，即标记器将学习并保存90000个词元。
    min_frequency=3,  # 设置最小词频为3，表示只保留在数据中至少出现3次的词元。
    limit_alphabet=1000  # 限制字符表的大小为1000，即只考虑数据中最常见的1000个字符。
)
# /models/vocab.txt
bwpt.save_model('./models/')
